package com.sky.service;

import cn.mybatis.mp.core.mybatis.mapper.context.Pager;
import com.sky.dto.BorrowingHistoryQueryDTO;
import com.sky.dto.GetBorroweuestsDTO;
import com.sky.result.PageResult;
import com.sky.vo.GetUserBorrowVO;

public interface UserBorrowhistoryService {
    
    /**
     * 查询用户借阅历史信息
     *
     * @param getBorroweuestsDTO 分页查询参数
     * @return 用户借阅历史信息
     */
    Pager<GetUserBorrowVO> getUserBorrow(GetBorroweuestsDTO getBorroweuestsDTO);

    /**
     * 发送逾期邮件
     *
     * @param borrowHistoryId 用户借阅历史订单ID
     */
    void sendOverdueEmail(String borrowHistoryId);
    
    /**
     * 获取用户借阅历史列表
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    PageResult getBorrowingHistory(BorrowingHistoryQueryDTO queryDTO);

    /**
     * 归还图书
     * @param borrowHistoryId 借阅历史记录ID
     */
    void returnBook(String borrowHistoryId);
}
